/*codecopy*/
pre {
  position: relative;
  padding: 0 !important;
}

.codecopy-btn {
  cursor: pointer;
  position: absolute;
  transition: all 0.5s;
  top: 10px;
  right: 20px;
  width: 90px;
  border-radius: 5px;
  background-color: rgba(221, 221, 221, 0.1);
  color: #999;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  padding: 3px 0;
}

.codecopy-btn:hover {
  background-color: rgba(221, 221, 221, 0.2);
  top: 9px;
}

/*语法高亮*/
.hljs {
  position: relative;
  display: block !important;
  overflow-x: hidden;
  background: #21252b !important;
  color: #999;
  padding: 30px 5px 10px 15px !important;
  box-shadow: 0 10px 30px 0px rgb(0 0 0 / 40%);
  border-radius: 10px;
}

.hljs::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 10px;
  overflow: visible;
  width: 12px;
  height: 12px;
  border-radius: 16px;
  box-shadow: 20px 0 #fdbc40, 40px 0 #35cd4b;
  -webkit-box-shadow: 20px 0 #fdbc40, 40px 0 #35cd4b;
  background-color: #fc625d;
  white-space: nowrap;
  text-indent: 75px;
  font-size: 16px;
  line-height: 12px;
  font-weight: 700;
}

.hljs-ln {
  display: inline-block;
  overflow-x: auto;
  margin-left: -10px;
}

.hljs-ln td {
  padding: 0;
  background-color: #21252b;
}

.hljs-ln::-webkit-scrollbar {
  height: 6px;
  border-radius: 5px;
  background: #333;
}

.hljs-ln::-webkit-scrollbar-thumb {
  background-color: #bbb;
  border-radius: 5px;
}

.hljs-ln::-webkit-scrollbar-thumb:hover {
  background: #ddd;
}

.hljs table tbody tr {
  border: none;
}

.hljs .hljs-ln-line {
  padding: 1px 10px;
  border: none;
}

td.hljs-ln-line.hljs-ln-numbers {
  border-right: 1px solid #666;
}

.hljs-keyword,
.hljs-literal,
.hljs-symbol,
.hljs-name {
  color: #569cd6;
}

.hljs-link {
  color: #569cd6;
  text-decoration: underline;
}

.hljs-built_in,
.hljs-type {
  color: #4ec9b0;
}

.hljs-number,
.hljs-class {
  color: #b8d7a3;
}

.hljs-string,
.hljs-meta-string {
  color: #d69d85;
}

.hljs-regexp,
.hljs-template-tag {
  color: #9a5334;
}

.hljs-subst,
.hljs-function,
.hljs-title,
.hljs-params,
.hljs-formula {
  color: #dcdcdc;
}

.hljs-comment,
.hljs-quote {
  color: #57a64a;
  font-style: italic;
}

.hljs-doctag {
  color: #608b4e;
}

.hljs-meta,
.hljs-meta-keyword,
.hljs-tag {
  color: #9b9b9b;
}

.hljs-variable,
.hljs-template-variable {
  color: #bd63c5;
}

.hljs-attr,
.hljs-attribute,
.hljs-builtin-name {
  color: #9cdcfe;
}

.hljs-section {
  color: gold;
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-strong {
  font-weight: bold;
}

.hljs-bullet,
.hljs-selector-tag,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
  color: #d7ba7d;
}

.hljs-addition {
  background-color: #144212;
  display: inline-block;
  width: 100%;
}

.hljs-deletion {
  background-color: #600;
  display: inline-block;
  width: 100%;
}

.hljs.language-html::before,
.hljs.language-xml::before {
  content: 'HTML/XML';
}

.hljs.language-javascript::before {
  content: 'JavaScript';
}

.hljs.language-c::before {
  content: 'C';
}

.hljs.language-cpp::before {
  content: 'C++';
}

.hljs.language-java::before {
  content: 'Java';
}

.hljs.language-asp::before {
  content: 'ASP';
}

.hljs.language-actionscript::before {
  content: 'ActionScript/Flash/Flex';
}

.hljs.language-bash::before {
  content: 'Bash';
}

.hljs.language-css::before {
  content: 'CSS';
}

.hljs.language-asp::before {
  content: 'ASP';
}

.hljs.language-cs::before,
.hljs.language-csharp::before {
  content: 'C#';
}

.hljs.language-d::before {
  content: 'D';
}

.hljs.language-golang::before,
.hljs.language-go::before {
  content: 'Go';
}

.hljs.language-json::before {
  content: 'JSON';
}

.hljs.language-lua::before {
  content: 'Lua';
}

.hljs.language-less::before {
  content: 'LESS';
}

.hljs.language-md::before,
.hljs.language-markdown::before,
.hljs.language-mkdown::before,
.hljs.language-mkd::before {
  content: 'Markdown';
}

.hljs.language-mm::before,
.hljs.language-objc::before,
.hljs.language-obj-c::before,
.hljs.language-objective-c::before {
  content: 'Objective-C';
}

.hljs.language-php::before {
  content: 'PHP';
}

.hljs.language-perl::before,
.hljs.language-pl::before,
.hljs.language-pm::before {
  content: 'Perl';
}

.hljs.language-python::before,
.hljs.language-py::before,
.hljs.language-gyp::before,
.hljs.language-ipython::before {
  content: 'Python';
}

.hljs.language-r::before {
  content: 'R';
}

.hljs.language-ruby::before,
.hljs.language-rb::before,
.hljs.language-gemspec::before,
.hljs.language-podspec::before,
.hljs.language-thor::before,
.hljs.language-irb::before {
  content: 'Ruby';
}

.hljs.language-sql::before {
  content: 'SQL';
}

.hljs.language-sh::before,
.hljs.language-shell::before,
.hljs.language-Session::before,
.hljs.language-shellsession::before,
.hljs.language-console::before {
  content: 'Shell';
}

.hljs.language-swift::before {
  content: 'Swift';
}

.hljs.language-vb::before {
  content: 'VB/VBScript';
}

.hljs.language-yaml::before {
  content: 'YAML';
}